//
//  UIButton+LLNW.h
//  LLFoundation
//
//  Created by my_liu on 2016/11/14.
//  Copyright © 2016年 . All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UIButton (LLNW)

/**
 * 根据指定的url异步加载button图片，一旦下载完成则将图片缓存到本地(需要通过llnwHTTPFileHandler自己手动清除缓存)
 * @param state 显示图片的状态
 * @param url 图片的下载路径
 */
- (void)llnw_setImageForState:(UIControlState)state
                      withURL:(NSURL *)url;

/**
 * 根据指定的url异步加载button图片，一旦下载完成则将图片缓存到本地(需要通过llnwHTTPFileHandler自己手动清除缓存)
 * @param state 显示图片的状态
 * @param url 图片的下载路径
 * @param placeholderImage 默认图片
 */
- (void)llnw_setImageForState:(UIControlState)state
                      withURL:(NSURL *)url
             placeholderImage:(UIImage *)placeholderImage;


/**
 * 根据指定的url异步加载button背景图片，一旦下载完成则将图片缓存到本地(需要通过llnwHTTPFileHandler自己手动清除缓存)
 * @param state 显示图片的状态
 * @param url 图片的下载路径
 */
- (void)llnw_setBackgroundImageForState:(UIControlState)state
                                withURL:(NSURL *)url;

/**
 * 根据指定的url异步加载button背景图片，一旦下载完成则将图片缓存到本地(需要通过llnwHTTPFileHandler自己手动清除缓存)
 * @param state 显示图片的状态
 * @param url 图片的下载路径
 * @param placeholderImage 默认图片
 */
- (void)llnw_setBackgroundImageForState:(UIControlState)state
                                withURL:(NSURL *)url
                       placeholderImage:(UIImage *)placeholderImage;

/**
 * 取消制定显示状态的所有正在进行中的button图片加载
 * @param state 显示图片的状态
 */
- (void)llnw_cancelImageRequestOperationForState:(UIControlState)state;

/**
 * 取消制定显示状态的所有正在进行中的button背景图片加载
 * @param state 显示图片的状态
 */
- (void)llnw_cancelBackgroundImageRequestOperationForState:(UIControlState)state;

@end
